package com.jxpanda.spring.module.wechat.component.message.pojo;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.experimental.SuperBuilder;

/**
 * @author Panda
 */
@Data
@SuperBuilder
public abstract class WechatMessage {
    /**
     * 接收者的用户ID
     */
    @JsonProperty("touser")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String toUser;

    /**
     * 接收者的部门ID
     */
    @JsonProperty("toparty")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String toParty;

    /**
     * 接收者的标签ID
     */
    @JsonProperty("totag")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String toTag;

    /**
     * 消息类型
     */
    @JsonProperty("msgtype")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String msgType;

    /**
     * 企业应用的id
     */
    @JsonProperty("agentid")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Integer agentId;

    /**
     * 是否是保密消息，0表示否，1表示是，默认0
     */
    @JsonProperty("safe")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Integer safe;

    /**
     * 是否开启重复消息检查，0表示否，1表示是，默认0
     */
    @JsonProperty("enable_duplicate_check")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Integer enableDuplicateCheck;

    /**
     * 重复消息检查的时间间隔，默认1800秒
     */
    @JsonProperty("duplicate_check_interval")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Integer duplicateCheckInterval;



}
